package com.liwalo.dao;

// Generated 24-ago-2013 14:46:30 by Hibernate Tools 3.6.0
import static org.hibernate.criterion.Example.create;

import java.util.List;

import org.hibernate.LockMode;
import org.hibernate.SessionFactory;

import com.liwalo.entities.Comoconocido;
import com.liwalo.utils.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.Session;

/**
 * Home object for domain model class Comoconocido.
 *
 * @see com.liwalo.dao.Comoconocido
 * @author Hibernate Tools
 */
public class ComoconocidoDAO {

    private final SessionFactory sessionFactory = HibernateUtil.getSessionFactory();

    public void persist(Comoconocido transientInstance) {
        try {
            sessionFactory.getCurrentSession().persist(transientInstance);
        } catch (RuntimeException re) {
            throw re;
        }
    }

    public void attachDirty(Comoconocido instance) {
        try {
            sessionFactory.getCurrentSession().saveOrUpdate(instance);
        } catch (RuntimeException re) {
            throw re;
        }
    }

    public void attachClean(Comoconocido instance) {
        try {
            sessionFactory.getCurrentSession().lock(instance, LockMode.NONE);
        } catch (RuntimeException re) {
            throw re;
        }
    }

    public void delete(Comoconocido persistentInstance) {
        try {
            sessionFactory.getCurrentSession().delete(persistentInstance);
        } catch (RuntimeException re) {
            throw re;
        }
    }

    public Comoconocido merge(Comoconocido detachedInstance) {
        try {
            Comoconocido result = (Comoconocido) sessionFactory
                    .getCurrentSession().merge(detachedInstance);
            return result;
        } catch (RuntimeException re) {
            throw re;
        }
    }

    public List<Comoconocido> getAllValues() {
        Session session = sessionFactory.getCurrentSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Comoconocido.class);
        return (List<Comoconocido>) criteria.list();
    }

    public Comoconocido findById(java.lang.Integer id) {
        Session session = sessionFactory.getCurrentSession();
        try {
            session.beginTransaction();
            Comoconocido instance = (Comoconocido) sessionFactory
                    .getCurrentSession().get(Comoconocido.class, id);
            return instance;
        } catch (RuntimeException re) {
            throw re;
        }
    }

    public List<Comoconocido> findByExample(Comoconocido instance) {
        try {
            List<Comoconocido> results = (List<Comoconocido>) sessionFactory
                    .getCurrentSession()
                    .createCriteria("com.liwalo.dao.Comoconocido")
                    .add(create(instance)).list();
            return results;
        } catch (RuntimeException re) {
            throw re;
        }
    }
}
